[SQL 5] 연산자(비교, 논리, 산술, 문자열)

[SQL 5] 연산자(비교, 논리, 산술, 문자열)

Lecture
CS
태그
cs
mysql
sql
public
완성
Y
생성일
Mar 17, 2024 06:20 PM
LectureName
MySQL

MySQL 연산자의 의미와 종류

MySQL은 데이터베이스에서 데이터를 검색하고 조작할 수 있도록 다양한 연산자를 제공합니다. 이 문서에서는 MySQL에서 사용 가능한 연산자의 의미와 종류 예시에 대해 설명합니다.

비교 연산자

MySQL에서는 데이터의 비교를 위해 다양한 비교 연산자를 제공합니다. 다음은 MySQL에서 사용 가능한 비교 연산자입니다.

= (equal to)

= 연산자는 왼쪽 값이 오른쪽 값과 같은 경우 true를 반환합니다.
SELECT * FROM students WHERE age = 20;

<> 또는 != (not equal to)

<> 또는 != 연산자는 왼쪽 값이 오른쪽 값과 같지 않은 경우 true를 반환합니다.
SELECT * FROM students WHERE age <> 20;

> (greater than)

> 연산자는 왼쪽 값이 오른쪽 값보다 큰 경우 true를 반환합니다.
SELECT * FROM students WHERE age > 20;

< (less than)

< 연산자는 왼쪽 값이 오른쪽 값보다 작은 경우 true를 반환합니다.
SELECT * FROM students WHERE age < 20;

>= (greater than or equal to)

>= 연산자는 왼쪽 값이 오른쪽 값보다 크거나 같은 경우 true를 반환합니다.
SELECT * FROM students WHERE age >= 20;

<= (less than or equal to)

<= 연산자는 왼쪽 값이 오른쪽 값보다 작거나 같은 경우 true를 반환합니다.
SELECT * FROM students WHERE age <= 20;
 

비교 연산자 - 2 패턴

LIKE (like)

LIKE 연산자는 왼쪽 값이 오른쪽 값과 일치하는 경우 true를 반환합니다. LIKE 연산자는 와일드카드 문자인 %_를 사용할 수 있습니다. %는 임의의 문자열을 나타내며, _는 임의의 문자 하나를 나타냅니다.
SELECT * FROM students WHERE first_name LIKE 'J%';
위의 예제는 first_name 열의 값이 J로 시작하는 모든 학생들을 검색합니다.
SELECT * FROM students WHERE last_name LIKE '%son%';
위의 예제는 last_name 열의 값에 "son"이 포함된 모든 학생들을 검색합니다.

NOT LIKE (not like)

NOT LIKE 연산자는 왼쪽 값이 오른쪽 값과 일치하지 않는 경우 true를 반환합니다.
SELECT * FROM students WHERE first_name NOT LIKE 'J%';
위의 예제는 first_name 열의 값이 J로 시작하지 않는 모든 학생들을 검색합니다.
SELECT * FROM students WHERE last_name NOT LIKE '%son%';
위의 예제는 last_name 열의 값에 "son"이 포함되지 않은 모든 학생들을 검색합니다.

REGEXP (regular expression)

REGEXP 연산자는 정규식을 사용하여 데이터를 검색합니다. 정규식은 검색할 패턴을 정의하는 문자열입니다.
SELECT * FROM students WHERE first_name REGEXP '^J';
위의 예제는 first_name 열의 값이 J로 시작하는 모든 학생들을 검색합니다.
SELECT * FROM students WHERE last_name REGEXP 'son';
위의 예제는 last_name 열의 값에 "son"이 포함된 모든 학생들을 검색합니다.
 

논리 연산자

MySQL에서는 논리 연산을 위해 다양한 논리 연산자를 제공합니다. 다음은 MySQL에서 사용 가능한 논리 연산자입니다.

AND 또는 && (and)

AND 또는 && 연산자는 양쪽 값이 모두 true인 경우 true를 반환합니다.
SELECT * FROM students WHERE age > 20 AND gender = 'male';

OR 또는 || (or)

OR 또는 || 연산자는 양쪽 값 중 하나 이상이 true인 경우 true를 반환합니다.
SELECT * FROM students WHERE age > 20 OR gender = 'male';

NOT 또는 ! (not)

NOT 또는 ! 연산자는 오른쪽 값의 반대 값을 반환합니다.
SELECT * FROM students WHERE NOT gender = 'male';
 

그 외 연산

BETWEEN 연산자를 사용하여 범위를 지정할 수 있습니다. BETWEEN 연산자는 다음과 같은 구문으로 사용할 수 있습니다.
SELECT * FROM students WHERE age BETWEEN 20 AND 30;
위의 예제는 age 열의 값이 20 이상 30 이하인 학생들을 검색합니다.

IN (in)

IN 연산자는 왼쪽 값이 오른쪽 값 집합 중 하나와 일치하는 경우 true를 반환합니다.
SELECT * FROM students WHERE age IN (20, 21, 22);
위의 예제는 age 열의 값이 20, 21, 22 중 하나인 학생들을 검색합니다.
 

산술 연산자

MySQL에서는 산술 연산을 위해 다양한 산술 연산자를 제공합니다. 다음은 MySQL에서 사용 가능한 산술 연산자입니다.

+ (addition)

+ 연산자는 왼쪽 값과 오른쪽 값의 합을 반환합니다.
SELECT age + 1 FROM students;
- (subtraction)
- 연산자는 왼쪽 값에서 오른쪽 값을 뺀 결과를 반환합니다.
SELECT age - 1 FROM students;

* (multiplication)

* 연산자는 왼쪽 값과 오른쪽 값의 곱을 반환합니다.
SELECT age * 2 FROM students;

/ (division)

/ 연산자는 왼쪽 값에서 오른쪽 값을 나눈 결과를 반환합니다.
SELECT age / 2 FROM students;

% (modulus)

% 연산자는 왼쪽 값에서 오른쪽 값을 나눈 나머지를 반환합니다.
SELECT age % 2 FROM students;
 

문자열 연산자

MySQL에서는 문자열 조작을 위해 다양한 문자열 연산자를 제공합니다. 다음은 MySQL에서 사용 가능한 문자열 연산자입니다.

CONCAT (concatenation)

CONCAT 연산자는 두 문자열을 연결한 결과를 반환합니다.
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM students;

LENGTH (length)

LENGTH 연산자는 문자열의 길이를 반환합니다.
SELECT LENGTH(first_name) FROM students;
위에서 설명한 연산자 이외에도 MySQL에서는 다양한 연산자를 제공합니다. 연산자를 적절하게 사용하여 데이터베이스를 효율적으로 검색하고 조작할 수 있습니다.